
#ifndef __RGB_H_
#define __RGB_H_


#include "head.h"

#include <stdio.h>
#include <stdlib.h>
#include <fcntl.h>
#include <unistd.h>
#include <sys/stat.h>
#include <sys/types.h>
#include <wiringPi.h>
#include <wiringPiI2C.h>





/**
 * 建议的调用顺序:
 * setRGBEffect()
 * setRGBSpeed()
 * setRGBColor()
*/
// set log level
extern void setRGBLogLevel(int logLevel);

// 初始化RGB
int initRGB();

// 设置RGB灯,num如果大于等于Max_LED(3),则全部灯一起设置
// num=(0~3),R=(0~255),G=(0~255),B=(0~255)
void setRGB(int num, int R, int G, int B);

// 关闭RGB
void closeRGB();

// 设置RGB灯效,0流水灯,1呼吸灯,2跑马灯,3彩虹灯,4炫彩灯
void setRGBEffect(int effect);

// 设置RGB速度: 1低速,2中速(默认),3高速
void setRGBSpeed(int speed);

// 设置流水灯/呼吸灯颜色: 0红色,1绿色(默认),2蓝色,3黄色,4紫色,5青色,6白色
void setRGBColor(int color);

// 根据温度改变灯光
void tempRGB();

// 为线程装备的持续循环函数,参数为睡眠间隔
void * tempRGB_thread(void * sleep_second);


#endif